// 定义变量
var score = 100;

// 条件控制 if ... else ...

if (score >= 80 && score <= 100){
    alert("80 ~ 100")
}else if (score < 80){
    alert("not good :(")
}else {
    alert("?")
}

// js 里的数组可以有多种数据类型
var arr = [1,2,'1',null,true]

new Array([1,2,'1',null,true])

// 对象,相当于java中的 Person person = new Person(),定义属性有点像 json
var person = {
    name:'jxc',
    age:21,
    arr:[1,2,3,'4',true]
}

// 如果一个变量直接定义不加严格检查模式是没有任何问题的
'use strict';
let i = 1;

// 迭代器遍历
let map = new Map([['jxc',111],['jxc2',222],['jxc3',333]]);
let set = new Set([3,1,2]);
let array = new Array([1,2,3]);

for(let i of map){
    console.log(i);
}

function myAbs(x){
    if (x > 0){
        return x;
    }else {
        return -x;
    }
}

let myAbs2 = function (x){

    if (typeof x !== 'number'){
        throw "please input right param";
    }
    console.log("我是正确的参数："+ x);
    console.log("所有参数如下：");
    for (let i = 0;i<arguments.length;i++){
        console.log(arguments[i]);
    }
    if (x > 0){
        return x;
    }else {
        return -x;
    }
}

function testRest(x1,x2,...rest){

    console.log(x1);
    console.log(x2);
    console.log("指定参数以外的参数："+rest);
}
